springframework 是spring 里面的一个基础
开源框架,主要用于javaee的企业开发。Spring是什么呢?首先它是一个开源的项目,而且非常活跃;它是一个基于IOC和
AOP的构架多层
j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用IOC使得可以很容易的实现
bean的装配,提供了简洁的AOP并据此实现Transaction Management,等等......
入门攻略
Spring的基础思想来源于
Rod Johnson的一本著名的
j2ee书籍:Expert One-on-One J2EE Design and Development (Programmer to Programmer),在这本书中,Rod根据他自己多年的j2ee开发经验,提出了众多新颖的思想,当然如果想看这本书的话,最好看英文版,因为中文版被翻译的惨不忍睹,看了会几天吃不下睡不着的......
在上面那本书附带的代码基础上,以Rod Johnson和
Juergen Hoeller两人为核心的一个开发团队经过努力,于2004年3月份发布了Spring Framework 1.0版,一经发布就引起了业界的强烈关注,各种java相关的会议中都有Rod Johnson等人的出现,最近Rod Johnson和Juergen Hoeller两人合作了一本新书。
Expert One-on-One J2EE Development without EJB也已出版热销,可惜的国内尚无法看到。Spring Framework已经接近发布1.1
RC1,从Spring的
邮件列表看,Juergen Hoeller正在组织最后的修改和测试,估计几日内就可以看到他们努力的成果。
另外,围绕在Spring周围的一些相关项目也在活跃的开展着,其中在Spring Framework首页上提供链接的
Acegi Security System for SpringFramework是其中的佼佼者,该项目的主要目的是为SpringFramework提供安全机制,它充分利用Spring的
AOP,采用Spring的风格,很容易让熟悉Spring的开发人员上手。此外,SpringFramework也开始了.Net版本的开发,当然处于起步阶段,而且是另外一个团队在开发。
在使用Spring的开发人员中,多数人倾向于
Struts+Spring+Hibernate的组合,但经过本人的学习,我感觉Spring提供的
MVC框架更为出色优雅,无须Struts的介入,如果没有
历史遗留问题的困扰(如已经存在大量Struts代码或者开发人员已经对Struts非常熟悉),建议采用Spring+Hibernate,再加上Acegi实现认证和授权,将是很不错的开发框架。
至于
开发环境,随着
eclipse3.0的发布,采用这一free的
IDE,再加上一些free的
plugin,将可以组织出一套非常出色的
集成开发环境:eclipse3.0 + XmlBuddy 2.0.10 + Lomboz3.0 + Spring IDE for Eclipse。在Spring的开发团队中,Rod Johnson是eclipse的支持者,而Juergen Hoeller更喜欢
JetBrains的IDEA,IDEA已经到了4.5 RCVIII版,比4.0又有了很大的提高,如果有钱的话更推荐使用IDEA。
Spring Framework 是一个 Java/Java EE/
.NET 的分层应用程序框架。该框架基于 Expert One-on-One Java EE Design and Development(
ISBN 0-7645-4385-7)一文中的代码,并最初由 Rod Johnson 和 Juergen Hoeller et al 开发。Spring Framework 提供了一个简易的
开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。
关键特性
◆强大的基于
JavaBeans 的采用
控制反转(Inversion of Control,
IoC)原则的
配置管理,使得
应用程序的组建更加快捷简易。
◆一个可用于从 applet 到
Java EE 等不同
运行环境的核心 Bean 工厂。
◆
数据库事务的一般化抽象层,允许插件式事务管理器,简化事务的划分使之与底层无关。
◆内建的针对 JTA 和 单个 JDBC
数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者
EJB CMT 相反。
◆JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码), 简化了
错误处理, 大大减少了程序员的编码量. 再次利用JDBC时,你无需再写出另一个“终止”模块。 并且面向JDBC的异常与Spring 通用
数据访问对象 (Data Access Object) 异常等级相一致。
◆以资源容器,
DAO 实现和事务策略等形式与
Hibernate,
JDO 和 iBATIS SQL Maps 集成。利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。所有这些全部遵从Spring通用
事务处理和通用
数据访问对象异常等级规范。
◆灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现技术,例如
JSP,FreeMarker,Velocity,Tiles,iText 以及
POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。
在设计应用程序Model时,MVC 模式(例如Struts)通常难于给出一个简洁明了的
框架结构。Spring却具有能够让这部分工作变得简单的能力。程序开发员们可以使用Spring的 JDBC 抽象层重新设计那些复杂的框架结构。
下属产品
Spring Web Flow Web
工作流的产品,里面集成了Spring 的MVC
Spring Security 认证和集成方面的组件
Spring Web Services
Web服务的工具类
Spring Batch 执行Java批处理的工具类
Spring Dynamic Modules 动态维护模块的工具类
Spring Integration 集成工具